1. Field
Various embodiments disclosed herein relate to a system and method for storing a document on a server and for viewing and editing the stored document using a client device, and more specifically to a system and method for dividing the document into document content sections, securely storing the document content sections on the server, and viewing and editing the document content sections on the client device.
2. Related Art
A document typically includes document content and document support data in the form of metadata. Document support data may include pagination data, formatting data, and style data. Pagination data is information that indicates how document content is divided into pages. There are two types of pagination data: hard page breaks, which are forced page breaks in the document, and soft page breaks, which are content-based page breaks. Style and formatting data are information that determines how the document content looks or appears when displayed on a screen or printed on paper. For example, style and formatting data may include information regarding whether text content is in bold, italicized, or underlined.
Conventional systems for storing, viewing, and editing a document in a client-server architecture typically include a server and a thin client device. The server stores the document as a document file in a database and provides processing power on behalf of the thin client device. The document file includes document content data, pagination data, formatting data, and style data. All the information is stored together in the document file so that the server can properly render the document for viewing or editing on the thin client device.
To view or edit a document file stored on the server in the conventional systems, a user typically uses a web browser or a document viewer program installed on the thin client device. The thin client device displays the accessed document file and accepts editing requests from the user. The thin client device then transmits the editing requests to the server. In turn, the server processes the received editing requests and re-renders the entire document file.
Furthermore, when the user is viewing or editing the document file on the thin client device, the thin client device must be connected to the server via a communication link. If the thin client device is not connected to the server, then the entire document file must be downloaded onto the thin client device at an earlier time so that the user can view or edit the document file while the thin client device is offline.
These conventional systems can be inefficient for several reasons. First, since the document content and document support data are all stored in the same document file, when a document file is edited on the thin client device, the entire document file must be re-rendered on the server. For a large document file (e.g., hundreds or thousands of pages), it would take the server a substantial amount of time to re-render the entire document file. Second, if the user wants to view or edit only a portion of the document file offline, the user cannot download only the portion of interest but must wait for the thin client server to download the entire document file from the server.
Accordingly, it would be advantageous to provide a system that securely stores a document in document content sections on the server and facilitates efficient online and offline viewing and editing of the document content sections on a client device.